Interactive information handling systems generally comprise a microprocessor or personal computer, a keyboard which is used by the operator to enter information into the system, a display device which functions to display information selectively to the operator, a storage device which may include a diskette drive and a removable diskette for storing information such as programs and data that is handled by the system, and lastly, a printer for providing hard copy output of information that has been generated by the system. Some interactive information handling systems are packaged as an integrated product and are referred to as intelligent work stations. Others are arranged as a combination of individual cable-connected components. In still other arrangements, the processor storage and printer may be shared among a number of operators that are provided with so-called "dumb" terminals, each consisting of a display device and a keyboard which are connected through a suitable communication link to the processor.
Information handling systems are referred to as interactive when the nature of the application that is being run by the system requires an almost continual interaction between the operator and the system. The information entered into the system by the operator through the keyboard, i.e., the sequence of keystrokes, is interpreted by the system in accordance with the position of the cursor on the display device of the system and the current state of the system. Similarly, the system's response to the operator, i.e., the information displayed to the operator is dependent on the nature of the information supplied by the operator.
Interactive information handling systems are capable of running several different types of applications, such as text processing application, data base application, spreadsheet application, etc. Currently, many of these applications are being marketed for interactive information handling systems which employ a personal computer for running the programs. The commercial success of these programs is highly dependent on how "user friendly" the program appears to the operator. It is therefore important for the program to provide a relatively simple interface to the operator since, in many situations, the operator will not have much experience in operating computers.
The prior art discloses a number of graphic application programs for use with an interactive information handling system. One type of graphic program functions to convert statistical type data into pie charts, bar graphs, etc., and is referred to as business graphics. Another type of graphic application program provides the operator with the ability to actually draw graphic objects on the display screen. These application programs are sometimes referred to as "interactive draw graphics" applications. In such systems, the operator draws by controlling the movement of the cursor through either the cursor control keys on the keyboard or by a cursor locator device, such as a "mouse" or data tablet. In some systems a library of graphic objects is provided from which the operator can select a given object and modify that object to obtain the desired appearance. The operator, therefore, quite often "builds" a complex graphic object by combining and modifying a number of previously drawn simpler objects. The modifying of a previously drawn graphic object is referred to as editing and, as in text editing, there are a number of different editing actions. Text editing actions such as insert, delete, move, and copy are also provided for graphic objects. In addition, there are several editing actions that are unique to graphics, such as scale up/scale down, stretch/shrink, and rotate.
The editing function for graphic objects generally involves two aspects. The first is the selecting of the particular editing action, e.g., move, copy, or rotate and the second is the selection of the object to be edited with that action. Editing actions such as move, copy, and rotate require the operator to input into the system a distance value associated with the edit action. In many graphic editing applications, that value is entered into the system by movement of the cursor. In other words, the object is moved or rotated a distance which is proportional to the movement of the cursor from some given point. Cursor movement is controlled by cursor keys on the keyboard or by a mouse device. Both devices operate satisfactorily when the edit action involves movement of the graphic object from one location to another. However, a number of problems arise where the object is to be rotated about its central point. The first problem stems from the fact that the graphic object which is to be rotated has usually been selected by moving the cursor adjacent to a line segment that defines a portion of the graphic object, and advising the system, by actuation of one of the mouse keys, that this is the object of interest that is to be rotated. At this point, the operator would move the mouse in a circular direction and the object would be rotated a corresponding amount. Some prior art systems would even provide a display adjacent to the cursor which indicates the running value of the rotation that has occurred up to that point.
If the distance between the center of the object and the point where the cursor latched on to the object is relatively short, the ability of the operator to rotate the object a precise number of degrees and minutes was drastically reduced since a small rotation of the mouse resulted in a relatively large rotation of the object. On the other hand, if the distance was relatively long, then the accuracy of the rotation was increased. In addition, if the screen was displaying a relatively complex grouping of overlaid objects, the area adjacent the cursor where the amount of rotation is displayed becomes very confusing for the operator to interpret.
The present invention is directed to an improved method of rotating a graphic object that is displayed by an interactive draw graphic system so that the problems encountered by prior art arrangements are avoided.